public class OverloadingExample {

    // 第一个重载方法，不接受任何参数
    public void printMessage() {
        System.out.println("没有参数的printMessage方法被调用");
    }

    // 第二个重载方法，接受一个String参数
    public void printMessage(String message) {
        System.out.println("带有String参数的printMessage方法被调用: " + message);
    }

    // 第三个重载方法，接受两个int参数
    public void printMessage(int number1, int number2) {
        System.out.println("带有两个int参数的printMessage方法被调用: " + number1 + ", " + number2);
    }

    // 第四个重载方法，接受一个double参数
    public void printMessage(double number) {
        System.out.println("带有double参数的printMessage方法被调用: " + number);
    }

    public static void main(String[] args) {
        OverloadingExample example = new OverloadingExample();

        // 调用没有参数的方法
        example.printMessage();

        // 调用带有String参数的方法
        example.printMessage("Hello, World!");

        // 调用带有两个int参数的方法
        example.printMessage(10, 20);

        // 调用带有double参数的方法
        example.printMessage(3.14);
    }
}